/**
 * Alipay.com Inc. Copyright (c) 2004-2018 All Rights Reserved.
 */
package com.yeyks.service;

/**
 * @author Beacon
 * @version $Id: SmsService.java, v 0.1 2018年08月13日 16:04 Beacon Exp $
 */
public interface SmsService {
    /**
     * 发送注册验证码
     *
     * @param phone
     */
    void sendSmsForSignup(String phone) throws Exception;

    /**
     * 给酒店发送下单成功提示短信
     *
     * @param phone
     */
    void sendSmsForOrderComplete(String phone) throws Exception;

    /**
     * 验证发送的注册短信是否正确
     *
     * @param phone
     * @param code
     * @return
     */
    boolean verifySmsForSignup(String phone, String code);

    /**
     * 给用户发送短信返回密码
     *
     * @param phone
     * @param password
     * @return
     */
    boolean sendPwcSms(String phone, String password);

    /**
     * 给用户发送下单成功提示短信
     *
     * @param phone     手机号
     * @param person    下单用户名
     * @param daytime   入住时间
     * @param hotelname 酒店名称
     * @param roomtype  房间类型
     * @param roomnum   预定多少间房间
     * @param roomnight 入住几晚
     * @param address   酒店地址
     * @param hoteltel  酒店联系电话
     * @return
     */
    Boolean sendSmsToUserForOrderComplete(String phone, String person, String daytime, String hotelname, String roomtype, String roomnum, String roomnight, String address, String hoteltel);

    /**
     * 给用户发送退款申请发送短信通知酒店
     *
     * @param phone     手机号
     * @param person    下单用户名
     * @param daytime   入住时间
     * @param hotelname 酒店名称
     * @param roomtype  房间类型
     */
    Boolean sendSmsForUserRefund(String phone, String person, String daytime, String hotelname, String roomtype);

    /**
     * 当酒店无法接单时退款，给用户发送短信通知
     *
     * @param phone     手机号
     * @param daytime   入住时间
     * @param hotelname 酒店名称
     * @param roomtype  房间类型
     * @return
     */
    Boolean sendSmsForHotelRefund(String phone, String daytime, String hotelname, String roomtype);

    /**
     * 用户下单成功给酒店通知短信
     *
     * @param phone     手机号
     * @param person    下单用户名
     * @param daytime   入住时间
     * @param hotelname 酒店名称
     * @param roomtype  房间类型
     * @param roomnum   预定多少间房间
     * @param roomnight 入住几晚
     * @return
     */
    Boolean sendSmsToHotelForOrderComplete(String phone, String person, String daytime, String hotelname, String roomtype, String roomnum, String roomnight);
}